package me.exchange.com.modules.system.service;

import me.exchange.com.modules.system.domain.FileContent;
import me.exchange.com.modules.system.domain.Scroll;
import me.exchange.com.modules.system.dto.ScrollDto;
import me.exchange.com.modules.system.dto.ScrollQueryCriteria;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.awt.print.Pageable;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @author zhaojing
 * @create2020/5/23
 */
public interface ScrollService {

    /**
     * 根据id查询
     * @param id
     * @return
     */
    ScrollDto findById(Long id);

    /**
     * 创建
     * @param
     * @return
     */
    ScrollDto create(Scroll resources);

    /**
     * 编辑
     * @param resources
     */
    void update(Scroll resources);

    /**
     * 删除
     * @param id
     */
    void delete(Long id);

    /**
     * 多删除
     * @param ids
     */
    void deleteAll(Set<Long> ids);

    /**
     * 导出数据
     * @param all
     * @param response
     * @throws Exception
     */
    void downLoad(List<ScrollDto> all, HttpServletResponse response) throws Exception;

    /***
     * 查询详情
     * @param criteria
     * @return
     */
    List<ScrollDto> queryAll(ScrollQueryCriteria criteria);

    /**
     * 分页查询
     * @param criteria
     * @param pageable
     * @return
     */
    Map<String,Object> queryAll(ScrollQueryCriteria criteria, Pageable pageable);

    /**
     * 修改状态
     * @param criteria
     */
    void updateEnable(ScrollQueryCriteria criteria);


}
